package top.go2do.common.module;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Description "操作日志" 消息对象
 * @Author xingyuji
 * @CreateTime 2025/5/10 11:33
 */
@Data
public class OperationLogBO {

    /**
     * 所属应用ID
     */
    private String appId;

    /**
     * 操作者ID
     */
    private Long operatorId;

    /**
     * 操作时间，格式如：2025-05-10 11:20:39
     */
    private String operationTime;

    /**
     * 操作类型：create、update、delete
     */
    private String operationType;

    /**
     * 操作对象的类型，可以用表名
     */
    private String targetType;

    /**
     * 操作对象的ID
     */
    private String targetId;

    /**
     * 操作状态：0失败，1成功
     */
    private Integer operationStatus;

    /**
     * 操作所在的请求ID（可能为空）
     */
    private String requestId;

    /**
     * 操作所在设备的唯一标识（可能为空）
     */
    private String deviceId;

    /**
     * 变更前数据的版本号（可能为空）
     */
    private String beforeVersion;

    /**
     * 变更后数据的版本号（可能为空）
     */
    private String afterVersion;

    /**
     * 变更前数据JSON字符串（可能为空）
     */
    private String beforeData;

    /**
     * 变更后数据JSON字符串（可能为空）
     */
    private String afterData;

    /**
     * 其他记录信息
     */
    private String extraInfo;

}
